Automatizing Software Cognitive Complexity Reduction

نویسندگان

چکیده

Software plays a central role in our life nowadays. We use it almost anywhere, at any time, and for everything: to browse the Internet, check emails, even access critical services such as health monitoring banking. Hence, its reliability general quality is critical. As software increases complexity, developers spend more time fixing bugs or making code work rather than designing writing new code. Thus, improving understandability maintainability would translate into an economic relief over total cost of project. Different cognitive complexity measures have been proposed quantify piece and, therefore, maintainability. However, metric provided by SonarSource integrated SonarCloud SonarQube quickly spreading industry due popularity these well-known static tools evaluating quality. Despite suggests keep method’s no greater 15, reducing challenging human programmer there are approaches assist on this task. model reduction method optimization problem where search space contains all sequences Extract Method refactoring opportunities. then propose novel approach that searches feasible extractions allowing apply them, automated way. This will allow make informed decisions while their evaluated 10 open-source projects was able fix 78% 1,050 existing issues reported SonarQube. finally discuss limitations provide interesting findings guidelines developers.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

FITNESS AS DEFAULT: the evolutionary basis for cognitive complexity reduction

Given that knowledge consists of finite models of an infinitely complex reality, how can we explain that it is still most of the time reliable? Survival in a variable environment requires an internal model whose complexity (variety) matches the complexity of the environment that is to be controlled. The reduction of the infinite complexity of the sensed environment to a finite map requires a st...

متن کامل

Understanding Decision Models - Visualization and Complexity Reduction of Software Variability

With the increasing size and complexity of software systems also the amount of software variability grows. In this paper we present decision models as a means of dealing with software variability and views on decision models that are supposed to make the large amount of variability manageable. Also some mechanisms for supporting the process of decision modelling and resolving decision models ar...

متن کامل

A Model for Measuring Cognitive Complexity of Software

This paper proposes a model for calculating cognitive complexity of a code. This model considers all major factors responsible for (cognitive) complexity. The practical applicability of the measure is evaluated through experimentation, test cases and comparative study.

متن کامل

Software Cognitive Complexity Measure Based on Scope of Variables

In this paper, we define a Mathematical model of program structure. Mathematical model of program structure defined here provides unified mathematical treatment of program structure, which reveals that a program is a large and finite set of embedded binary relations between current statement and previous ones. Then, a program is considered as a composed listing and a logical combination of mult...

متن کامل

Time and Space Complexity Reduction of a Cryptanalysis Algorithm

Binary Decision Diagram (in short BDD) is an efficient data structure which has been used widely in computer science and engineering. BDD-based attack in key stream cryptanalysis is one of the best forms of attack in its category. In this paper, we propose a new key stream attack which is based on ZDD(Zero-suppressed BDD). We show how a ZDD-based key stream attack is more efficient in time and ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: IEEE Access

سال: 2022

ISSN: ['2169-3536']

DOI: https://doi.org/10.1109/access.2022.3144743